package wiki;

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

import com.*;
import java.io.IOException;
import java.io.PrintWriter;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.json.simple.*;

/**
 *
 * @author mona.chandrapal
 */
@WebServlet(name = "GetCategories", urlPatterns = {"/GetCategories"})
public class GetCategories extends HttpServlet {

    protected void processRequest(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        response.setContentType("application/json");
        PrintWriter out = response.getWriter();
        JSONObject sections = null;
        JSONObject module = null;
        ArrayList modules = new ArrayList();

        Root root = new Root();
        ResultSet rs = null;
        PreparedStatement pst = null;
        
        try {

            
            String sql1;

            String parentid;
            int nparentid;

            parentid = request.getParameter("parentid");
            if ((parentid != null) && (parentid.length() > 0)) {

                nparentid = Integer.parseInt(parentid);
                root.initConnection();
                sql1 = "Select id,sectionname from sections where parentid = ?  and deleteflag = 0 order by displayindex;";
                pst = root.con.prepareStatement(sql1);
                pst.setInt(1, nparentid);
                rs = pst.executeQuery();

                sections = new JSONObject();


                while (rs.next()) {
                    module = new JSONObject();
                    module.put("id", rs.getString("id"));
                    module.put("sectionname", rs.getString("sectionname"));
                    modules.add(module);
                }

                sections.put("modules", modules);
            }



        } catch (Exception e) {
            System.out.println("Exception getting sections: " + e.toString());
        }finally{
        	try {
				pst.close();
				rs.close();
	        	root.closeConnection();
			} catch (Exception e) {
				
			}
        	
        }

        out.println(sections.toString());
    }
    // <editor-fold defaultstate="collapsed" desc="HttpServlet methods. Click on the + sign on the left to edit the code.">

    /**
     * Handles the HTTP
     * <code>GET</code> method.
     *
     * @param request servlet request
     * @param response servlet response
     * @throws ServletException if a servlet-specific error occurs
     * @throws IOException if an I/O error occurs
     */
    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        processRequest(request, response);
    }

    /**
     * Handles the HTTP
     * <code>POST</code> method.
     *
     * @param request servlet request
     * @param response servlet response
     * @throws ServletException if a servlet-specific error occurs
     * @throws IOException if an I/O error occurs
     */
    @Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        processRequest(request, response);
    }

    /**
     * Returns a short description of the servlet.
     *
     * @return a String containing servlet description
     */
    @Override
    public String getServletInfo() {
        return "Short description";
    }// </editor-fold>
}
